package org.jeecg.modules.demo.Kingdee.Entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 电子回单下载响应实体 (SKEDCDTD)
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ReceiptDownloadResponse {
    /**
     * 响应状态
     */
    private String status;
    
    /**
     * 响应状态描述
     */
    private String statusText;
    
    /**
     * 失败原因
     */
    private String failReason;

    // getters and setters
    /**
     * 返回码
     */
    private String returnCode;
    
    /**
     * 返回信息
     */
    private String returnMsg;
    
    /**
     * 总记录条数
     */
    private int totalRecords;
    
    /**
     * 返回记录条数
     */
    private int returnRecords;
    
    /**
     * 文件数据
     */
    private byte[] fileData;
    
    /**
     * 文件名
     */
    private String fileName;
    
    /**
     * 文件大小
     */
    private int size;
    
    /**
     * 回单汇总文件内容
     */
    private String fileContent;
    
    /**
     * 回单汇总文件名称
     */
    private String fileContentName;
    
    /**
     * 结果列表
     */
    private List<DownloadResult> resultList;
    
    public String getReturnCode() { return returnCode; }
    public void setReturnCode(String returnCode) { this.returnCode = returnCode; }
    
    public String getReturnMsg() { return returnMsg; }
    public void setReturnMsg(String returnMsg) { this.returnMsg = returnMsg; }
    
    public byte[] getFileData() { return fileData; }
    public void setFileData(byte[] fileData) { this.fileData = fileData; }
    
    public String getFileName() { return fileName; }
    public void setFileName(String fileName) { this.fileName = fileName; }
    
    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }
    
    public String getStatusText() { return statusText; }
    public void setStatusText(String statusText) { this.statusText = statusText; }
    
    public String getFailReason() { return failReason; }
    public void setFailReason(String failReason) { this.failReason = failReason; }
    
    public int getTotalRecords() { return totalRecords; }
    public void setTotalRecords(int totalRecords) { this.totalRecords = totalRecords; }
    
    public int getReturnRecords() { return returnRecords; }
    public void setReturnRecords(int returnRecords) { this.returnRecords = returnRecords; }
    
    public int getSize() { return size; }
    public void setSize(int size) { this.size = size; }
    
    public String getFileContent() { return fileContent; }
    public void setFileContent(String fileContent) { this.fileContent = fileContent; }
    
    public String getFileContentName() { return fileContentName; }
    public void setFileContentName(String fileContentName) { this.fileContentName = fileContentName; }
    
    public List<DownloadResult> getResultList() { return resultList; }
    public void setResultList(List<DownloadResult> resultList) { this.resultList = resultList; }
    
    /**
     * 下载结果实体
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DownloadResult {
        private String pdfName;      // 回单文件名称
        private String rcptNum;      // 回单编号
        
        public String getPdfName() { return pdfName; }
        public void setPdfName(String pdfName) { this.pdfName = pdfName; }
        
        public String getRcptNum() { return rcptNum; }
        public void setRcptNum(String rcptNum) { this.rcptNum = rcptNum; }
    }
}